package Pattern;

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Account extends PatternTest {
    /**
     * 账户注册
     */
    @Override
    public void register() {   //账户注册抽象重写
        Scanner scan = new Scanner(System.in);
        System.out.println("****************欢迎来到修仙系统*******************");
        System.out.println("****************账号注册*******************");
        System.out.println("用户注册要求：1: 首位必须为字母 \n        2: 要求6-20位字母、数字、下划线组成");
        for (int i = 5; i > 0; i--) {
            System.out.println("请输入注册的账号");
            String pattern = "^[a-zA-Z][a-zA-Z0-9_]{5,19}$";  //正则码要求
            String arr = scan.next();  // 用户输入账户
            this.setArr(arr);         //set输入数据
            Pattern r = Pattern.compile(pattern);
            Matcher m = r.matcher(arr);
            if (m.matches()) {  // 得到真假值，用于判断
                System.out.println(" 用户注册完成！");
                break;
            } else {
                System.out.println("失败，输入用户名不合规，您还可以注册: " + (i - 1) + " 次");
            }
            if (i == 1) { //达到错误次数，退出
                System.out.println("错误次数太多，请稍后再尝试注册，再见！");

            }

        }

    }


}
